<?php 
/**
 *  Por Federico Pisarello - SisDev Software (c) 2013 - Buenos Aires, Argentina.
 * 	fpisarello@sisdevsoft.com
 */

require("includes/funciones.inc.php");

session_start();
if(!isset($_SESSION['nombreUsuario']))
	exit();

function searchABMRecibos()
{
	require("includes/constants.php");
	require("includes/datatables_db/Datatables.php");
	
	$datatables = new Datatables();
	
	$datatables
			->select('r.idRecibo, r.fecha, c.razonSocial, r.importe')
			->from('recibos r')
			->edit_column('r.fecha','$1','formatoFecha(r.fecha)') // php functions
			->add_column('edit', '<img src="images/details_open.png">')
			->join('clientes c','c.idCliente = r.idCliente', 'left')
			->where("r.estado <> '".$stateErase."'");

	return $datatables->generate();	
}

function addOrEdit()
{
	require("includes/constants.php");

	$DB = NewADOConnection('mysqlt');
	$DB->Connect();
	$DB->Execute("SET NAMES utf8;");
	//$DB->debug=true;
		
	$DB->StartTrans(); // start transaction
	
	$fecha = date("Y-m-d", strtotime('now'));
	
	if(!isset($_REQUEST["idRecibo"])){
		
		$strSQL = "INSERT INTO recibos ( ";
		$strSQL .= "	fecha, ";
		$strSQL .= "	idCliente, ";
		$strSQL .= "	descripcion, ";
		$strSQL .= "	importe, ";
		$strSQL .= "	estado ";
		$strSQL .= "	) VALUES ( ";
		$strSQL .= "	'".$fecha."', ";
		$strSQL .= "	'".$_REQUEST["idCliente"]."', ";
		$strSQL .= "	'".mb_strtoupper($_REQUEST["descripcion"], "UTF-8")."', ";
		$strSQL .= "	'".$_REQUEST["importe"]."', ";
		$strSQL .= "	'".$stateAdd."' ";
		$strSQL .= "	)";
		
		$DB->Execute($strSQL);
		$insert_ID = $DB->Insert_ID();
		
		$arrItemsCobro = json_decode($_REQUEST["jaItems"]);
		foreach ($arrItemsCobro as $joItem) {
			switch ($joItem->tipoCobro) {
				case $DetalleEfectivo:
					$strSQL = "INSERT INTO recibos_detalle ( ";
					$strSQL .= "	idRecibo, ";
					$strSQL .= "	tipoCobro, ";
					$strSQL .= "	descripcion, ";
					$strSQL .= "	importe ";
					$strSQL .= "	) VALUES ( ";
					$strSQL .= "	".$insert_ID.", ";
					$strSQL .= "	'".$joItem->tipoCobro."', ";
					$strSQL .= "	'".mb_strtoupper($joItem->descripcion, "UTF-8")."', ";
					$strSQL .= "	'".$joItem->importe."' ";
					$strSQL .= "	)";
					
					$DB->Execute($strSQL);
					
					break;
				
				case $DetalleCheque:
					
					$fechaEmisionCheque = date("Y-m-d", strtotime(str_replace("/", "-", $joItem->fechaEmisionCheque)));
					$fechaVtoCheque = date("Y-m-d", strtotime(str_replace("/", "-", $joItem->fechaVtoCheque)));
					
					$strSQL = "INSERT INTO cheques ( ";
					$strSQL .= "	nroCheque, ";
					$strSQL .= "	sucursal, ";
					$strSQL .= "	banco, ";
					$strSQL .= "	fechaEmision, ";
					$strSQL .= "	fechaVto, ";
					$strSQL .= "	importe, ";
					$strSQL .= "	firmante, ";
					$strSQL .= "	cuitFirmante ";
					$strSQL .= "	) VALUES ( ";
					$strSQL .= "	'".$joItem->nroCheque."', ";
					$strSQL .= "	'".mb_strtoupper($joItem->sucursalCheque, "UTF-8")."', ";
					$strSQL .= "	'".mb_strtoupper($joItem->bancoCheque, "UTF-8")."', ";
					$strSQL .= "	'".$fechaEmisionCheque."', ";
					$strSQL .= "	'".$fechaVtoCheque."', ";
					$strSQL .= "	'".$joItem->importe."', ";
					$strSQL .= "	'".mb_strtoupper($joItem->firmanteCheque, "UTF-8")."', ";
					$strSQL .= "	'".$joItem->cuitFirmanteCheque."' ";
					$strSQL .= "	)";
					
					$DB->Execute($strSQL);
					$insert_Chq_ID = $DB->Insert_ID();
					
					
					$strSQL = "INSERT INTO recibos_detalle ( ";
					$strSQL .= "	idRecibo, ";
					$strSQL .= "	tipoCobro, ";
					$strSQL .= "	descripcion, ";
					$strSQL .= "	importe, ";
					$strSQL .= "	idCheque ";
					$strSQL .= "	) VALUES ( ";
					$strSQL .= "	".$insert_ID.", ";
					$strSQL .= "	'".$joItem->tipoCobro."', ";
					$strSQL .= "	'".mb_strtoupper($joItem->descripcion, "UTF-8")."', ";
					$strSQL .= "	'".$joItem->importe."', ";
					$strSQL .= "	".$insert_Chq_ID." ";
					$strSQL .= "	)";
					
					$DB->Execute($strSQL);
					
					break;
	
				case $DetalleTransferencia:
					
					$fechaTransferencia = date("Y-m-d", strtotime(str_replace("/", "-", $joItem->fechaTransferencia)));
					
					$strSQL = "INSERT INTO transferencias ( ";
					$strSQL .= "	fecha, ";
					$strSQL .= "	banco, ";
					$strSQL .= "	importe ";
					$strSQL .= "	) VALUES ( ";
					$strSQL .= "	'".$fechaTransferencia."', ";
					$strSQL .= "	'".mb_strtoupper($joItem->bancoTransferencia, "UTF-8")."', ";
					$strSQL .= "	'".$joItem->importe."' ";
					$strSQL .= "	)";
					
					$DB->Execute($strSQL);
					$insert_Tra_ID = $DB->Insert_ID();
					
					$strSQL = "INSERT INTO recibos_detalle ( ";
					$strSQL .= "	idRecibo, ";
					$strSQL .= "	tipoCobro, ";
					$strSQL .= "	descripcion, ";
					$strSQL .= "	importe, ";
					$strSQL .= "	idTransferencia ";
					$strSQL .= "	) VALUES ( ";
					$strSQL .= "	".$insert_ID.", ";
					$strSQL .= "	'".$joItem->tipoCobro."', ";
					$strSQL .= "	'".mb_strtoupper($joItem->descripcion, "UTF-8")."', ";
					$strSQL .= "	'".$joItem->importe."', ";
					$strSQL .= "	".$insert_Tra_ID." ";
					$strSQL .= "	)";
					
					$DB->Execute($strSQL);
					
					break;
			}
		}
	
		//Retenciones
		$arrItemsRetencion = json_decode($_REQUEST["jaItemsRetencion"]);
		foreach ($arrItemsRetencion as $joItemRetencion) {
			
			$fechaRetencion = date("Y-m-d", strtotime(str_replace("/", "-", $joItemRetencion->fechaRetencion)));
			
			$strSQL = "INSERT INTO recibos_retenciones ( ";
			$strSQL .= "	categoria, ";
			$strSQL .= "	idRecibo, ";
			$strSQL .= "	fecha, ";
			$strSQL .= "	nroRetencion, ";
			$strSQL .= "	baseImponible, ";
			$strSQL .= "	importe ";
			$strSQL .= "	) VALUES ( ";
			$strSQL .= "	'".$joItemRetencion->categoria."', ";
			$strSQL .= "	".$insert_ID.", ";
			$strSQL .= "	'".$fechaRetencion."', ";
			$strSQL .= "	'".$joItemRetencion->nroRetencion."', ";
			$strSQL .= "	'".$joItemRetencion->importeBaseImponibleRetencion."', ";
			$strSQL .= "	'".$joItemRetencion->importeRetencion."' ";
			$strSQL .= "	)";
			
			$DB->Execute($strSQL);
		}
	}
	else {
		$strSQL = "UPDATE recibos SET ";
		$strSQL .= "	idCliente = '".$_REQUEST["idCliente"]."', ";
		$strSQL .= "	descripcion = '".mb_strtoupper($_REQUEST["descripcion"], "UTF-8")."', ";
		$strSQL .= "	importe = '".$_REQUEST["importe"]."' ";
		$strSQL .= " WHERE idRecibo = ". $_REQUEST["idRecibo"];
		
		$DB->Execute($strSQL);
		
		//Borro todos los datos del Recibo
		$DB->Execute("DELETE FROM cheques WHERE idCheque IN (SELECT idCheque FROM recibos_detalle WHERE idRecibo = ".$_REQUEST["idRecibo"].")");
		$DB->Execute("DELETE FROM transferencias WHERE idTransferencia IN (SELECT idTransferencia FROM recibos_detalle WHERE idRecibo = ".$_REQUEST["idRecibo"].")");
		$DB->Execute("DELETE FROM recibos_detalle WHERE idRecibo = ".$_REQUEST["idRecibo"]);
		$DB->Execute("DELETE FROM recibos_retenciones WHERE idRecibo = ".$_REQUEST["idRecibo"]);
		
		$arrItemsCobro = json_decode($_REQUEST["jaItems"]);
		foreach ($arrItemsCobro as $joItem) {
			switch ($joItem->tipoCobro) {
				case $DetalleEfectivo:
					$strSQL = "INSERT INTO recibos_detalle ( ";
					$strSQL .= "	idRecibo, ";
					$strSQL .= "	tipoCobro, ";
					$strSQL .= "	descripcion, ";
					$strSQL .= "	importe ";
					$strSQL .= "	) VALUES ( ";
					$strSQL .= "	".$_REQUEST["idRecibo"].", ";
					$strSQL .= "	'".$joItem->tipoCobro."', ";
					$strSQL .= "	'".mb_strtoupper($joItem->descripcion, "UTF-8")."', ";
					$strSQL .= "	'".$joItem->importe."' ";
					$strSQL .= "	)";
						
					$DB->Execute($strSQL);
						
					break;
		
				case $DetalleCheque:
						
					$fechaEmisionCheque = date("Y-m-d", strtotime(str_replace("/", "-", $joItem->fechaEmisionCheque)));
					$fechaVtoCheque = date("Y-m-d", strtotime(str_replace("/", "-", $joItem->fechaVtoCheque)));
						
					$strSQL = "INSERT INTO cheques ( ";
					$strSQL .= "	nroCheque, ";
					$strSQL .= "	sucursal, ";
					$strSQL .= "	banco, ";
					$strSQL .= "	fechaEmision, ";
					$strSQL .= "	fechaVto, ";
					$strSQL .= "	importe, ";
					$strSQL .= "	firmante, ";
					$strSQL .= "	cuitFirmante ";
					$strSQL .= "	) VALUES ( ";
					$strSQL .= "	'".$joItem->nroCheque."', ";
					$strSQL .= "	'".$joItem->sucursalCheque."', ";
					$strSQL .= "	'".$joItem->bancoCheque."', ";
					$strSQL .= "	'".$fechaEmisionCheque."', ";
					$strSQL .= "	'".$fechaVtoCheque."', ";
					$strSQL .= "	'".$joItem->importe."', ";
					$strSQL .= "	'".$joItem->firmanteCheque."', ";
					$strSQL .= "	'".$joItem->cuitFirmanteCheque."' ";
					$strSQL .= "	)";
						
					$DB->Execute($strSQL);
					$insert_Chq_ID = $DB->Insert_ID();

					$strSQL = "INSERT INTO recibos_detalle ( ";
					$strSQL .= "	idRecibo, ";
					$strSQL .= "	tipoCobro, ";
					$strSQL .= "	descripcion, ";
					$strSQL .= "	importe, ";
					$strSQL .= "	idCheque ";
					$strSQL .= "	) VALUES ( ";
					$strSQL .= "	".$_REQUEST["idRecibo"].", ";
					$strSQL .= "	'".$joItem->tipoCobro."', ";
					$strSQL .= "	'".mb_strtoupper($joItem->descripcion, "UTF-8")."', ";
					$strSQL .= "	'".$joItem->importe."', ";
					$strSQL .= "	".$insert_Chq_ID." ";
					$strSQL .= "	)";
						
					$DB->Execute($strSQL);
						
					break;
		
				case $DetalleTransferencia:
						
					$fechaTransferencia = date("Y-m-d", strtotime(str_replace("/", "-", $joItem->fecha)));
						
					$strSQL = "INSERT INTO transferencias ( ";
					$strSQL .= "	fecha, ";
					$strSQL .= "	banco, ";
					$strSQL .= "	importe ";
					$strSQL .= "	) VALUES ( ";
					$strSQL .= "	'".$fechaTransferencia."', ";
					$strSQL .= "	'".$joItem->bancoTransferencia."', ";
					$strSQL .= "	'".$joItem->importe."' ";
					$strSQL .= "	)";
						
					$DB->Execute($strSQL);
					$insert_Tra_ID = $DB->Insert_ID();
						
					$strSQL = "INSERT INTO recibos_detalle ( ";
					$strSQL .= "	idRecibo, ";
					$strSQL .= "	tipoCobro, ";
					$strSQL .= "	descripcion, ";
					$strSQL .= "	importe, ";
					$strSQL .= "	idTransferencia ";
					$strSQL .= "	) VALUES ( ";
					$strSQL .= "	".$_REQUEST["idRecibo"].", ";
					$strSQL .= "	'".$joItem->tipoCobro."', ";
					$strSQL .= "	'".mb_strtoupper($joItem->descripcion, "UTF-8")."', ";
					$strSQL .= "	'".$joItem->importe."', ";
					$strSQL .= "	".$insert_Tra_ID." ";
					$strSQL .= "	)";
						
					$DB->Execute($strSQL);
						
					break;						
			}
		}
		
		//Retenciones
		$arrItemsRetencion = json_decode($_REQUEST["jaItemsRetencion"]);
		foreach ($arrItemsRetencion as $joItemRetencion) {
			
			$fechaRetencion = date("Y-m-d", strtotime(str_replace("/", "-", $joItemRetencion->fechaRetencion)));
			
			$strSQL = "INSERT INTO recibos_retenciones ( ";
			$strSQL .= "	categoria, ";
			$strSQL .= "	idRecibo, ";
			$strSQL .= "	fecha, ";
			$strSQL .= "	nroRetencion, ";
			$strSQL .= "	baseImponible, ";
			$strSQL .= "	importe ";
			$strSQL .= "	) VALUES ( ";
			$strSQL .= "	'".$joItemRetencion->categoria."', ";
			$strSQL .= "	".$_REQUEST["idRecibo"].", ";
			$strSQL .= "	'".$fechaRetencion."', ";
			$strSQL .= "	'".$joItemRetencion->nroRetencion."', ";
			$strSQL .= "	'".$joItemRetencion->importeBaseImponibleRetencion."', ";
			$strSQL .= "	'".$joItemRetencion->importeRetencion."' ";
			$strSQL .= "	)";
				
			$DB->Execute($strSQL);
		}
	}
	
	if (!$DB->CompleteTrans())
	{
		$arrJSON->status = "ERROR";
		$arrJSON->msg = "Error al Grabar el Recibo";
	}
	else
	{
		$arrJSON->status = "OK";
		$arrJSON->msg = "El Recibo fue Guardado con Exito";
	}	
	return json_encode($arrJSON);
}

function editRecibo()
{
	require("includes/constants.php");
	
	$DB = NewADOConnection('mysqlt');
	$DB->Connect();
	$DB->Execute("SET NAMES utf8;");
	//$DB->debug=true;
	
		
	$rsRecibo = $DB->Execute("SELECT *, c.razonSocial  FROM recibos r
								INNER JOIN clientes c ON r.idCliente = c.idCliente
								WHERE r.estado <> '$stateErase' AND r.idRecibo = " . $_REQUEST["idRecibo"]); // execute query
	
	if(!$rsRecibo->EOF){
		$joRecibo->data['fecha'] = date("d/m/Y", strtotime($rsRecibo->fields("fecha")));
		$joRecibo->data['idCliente'] = $rsRecibo->fields("idCliente");
		$joRecibo->data['razonSocial'] = $rsRecibo->fields("razonSocial");
		$joRecibo->data['descripcion'] = $rsRecibo->fields("descripcion");
		$joRecibo->data['importe'] = $rsRecibo->fields("importe");
	
		$strSQL = "SELECT * FROM recibos_detalle WHERE idRecibo = " . $_REQUEST["idRecibo"];
	
		$rsReciboItems = $DB->Execute($strSQL);
	
		$arrReciboItems = array();
		while(!$rsReciboItems->EOF){
			$objReciboItem = "";
			switch ($rsReciboItems->fields('tipoCobro')) {
				case $DetalleEfectivo:
					$objReciboItem->descripcion = "Efectivo";
					$objReciboItem->importe = $rsReciboItems->fields('importe');
					$objReciboItem->tipoCobro = $rsReciboItems->fields('tipoCobro');
					break;
					
				case $DetalleCheque:
					
					$rsCheque = $DB->Execute("SELECT * FROM cheques WHERE idCheque = ".$rsReciboItems->fields('idCheque'));
					
					$objReciboItem->descripcion = "Cheque ".$rsCheque->fields('nroCheque');
					$objReciboItem->sucursalCheque = $rsCheque->fields('sucursal');
					$objReciboItem->bancoCheque = $rsCheque->fields('banco');
					$objReciboItem->fechaEmisionCheque = date("d/m/Y", strtotime($rsCheque->fields('fechaEmision')));
					$objReciboItem->fechaVtoCheque = date("d/m/Y", strtotime($rsCheque->fields('fechaVto')));
					$objReciboItem->importe = $rsCheque->fields('importe');
					$objReciboItem->nroCheque = $rsCheque->fields('nroCheque');
					$objReciboItem->firmanteCheque = $rsCheque->fields('firmante');
					$objReciboItem->cuitFirmanteCheque = $rsCheque->fields('cuitFirmante');
					$objReciboItem->tipoCobro = $rsReciboItems->fields('tipoCobro');										
					break;
					
				case $DetalleTransferencia:
					
					$rsTransferencia = $DB->Execute("SELECT * FROM transferencias WHERE idTransferencia = ".$rsReciboItems->fields('idTransferencia'));
					
					$objReciboItem->descripcion = "Transferencia";
					$objReciboItem->bancoTransferencia = $rsTransferencia->fields('banco');
					$objReciboItem->fechaTransferencia = date("d/m/Y", strtotime($rsTransferencia->fields('fecha')));
					$objReciboItem->importe = $rsTransferencia->fields('importe');
					$objReciboItem->tipoCobro = $rsReciboItems->fields('tipoCobro');
					break;					
			}
			array_push($arrReciboItems, $objReciboItem);
				
			$rsReciboItems->MoveNext();
		}
		$joRecibo->data['reciboItems'] = $arrReciboItems;

		//Retenciones
		$strSQL = "SELECT * FROM recibos_retenciones WHERE idRecibo = " . $_REQUEST["idRecibo"];
		
		$rsRetencionItems = $DB->Execute($strSQL);
		
		$arrRetencionItems = array();
		while(!$rsRetencionItems->EOF){
			$objRetencionItem = "";
			switch ($rsRetencionItems->fields('categoria')) {
				case $retencionIngresosBrutos:
					$objRetencionItem->descripcion = "Retenci&oacute;n de Ingresos Brutos";
					break;
				case $retencionIVA:
					$objRetencionItem->descripcion = "Retenci&oacute;n de I.V.A.";
					break;
				case $retencionGanancias:
					$objRetencionItem->descripcion = "Retenci&oacute;n de Ganancias";
					break;
				case $retencionSUSS:
					$objRetencionItem->descripcion = "Retenci&oacute;n de S.U.S.S";
					break;
			}
			$objRetencionItem->categoria = $rsRetencionItems->fields("categoria");
			$objRetencionItem->fechaRetencion = date("d/m/Y", strtotime($rsRetencionItems->fields('fecha')));
			$objRetencionItem->importeBaseImponibleRetencion = $rsRetencionItems->fields("baseImponible");
			$objRetencionItem->importeRetencion = $rsRetencionItems->fields("importe");
			$objRetencionItem->nroRetencion = $rsRetencionItems->fields("nroRetencion");
			
			array_push($arrRetencionItems, $objRetencionItem);
			
			$rsRetencionItems->MoveNext();
		}
		$joRecibo->data['retencionItems'] = $arrRetencionItems;
	
		return json_encode($joRecibo->data);
	}
	else
		return json_encode(array());
}

function getClientes()
{
	require("includes/constants.php");
	
	$DB = NewADOConnection('mysqlt');
	$DB->Connect();
	$DB->Execute("SET NAMES utf8;");
	//$DB->debug=true;
	
	$rsClientes = $DB->Execute("SELECT * FROM clientes WHERE estado <> '$stateErase' AND razonSocial LIKE '%".$_REQUEST['term']."%'");
	
	if($rsClientes->EOF)
		return json_encode(array());
	
	$i=0;
	while(!$rsClientes->EOF){
		$arrClientes->data[$i]['id'] = $rsClientes->fields('idCliente');
		$arrClientes->data[$i++]['value'] = $rsClientes->fields('razonSocial');
		$rsClientes->MoveNext();
	}
	
	return json_encode($arrClientes->data);
}

function searchReciboDetalle()
{
	require("includes/constants.php");
	
	$DB = NewADOConnection('mysqlt');
	$DB->Connect();
	$DB->Execute("SET NAMES utf8;");
	//$DB->debug=true;
	
	$rsReciboItems = $DB->Execute("SELECT * FROM recibos_detalle  WHERE idRecibo = ".$_REQUEST["idRecibo"]);
	
	if($rsReciboItems->EOF)
		return "";
	
	$strOutput = "<tr><td>Descripci&oacute;n</td><td>Importe</td><td>Detalle</td></tr>";
	
	while(!$rsReciboItems->EOF){
		$strOutput .= "<tr>";
		$strOutput .= "<td valign='top'>".$rsReciboItems->fields("descripcion")."</td><td valign='top'>$ ".$rsReciboItems->fields("importe")."</td>";
		
		switch ($rsReciboItems->fields('tipoCobro')) {
			case $DetalleEfectivo:
				$strOutput .= "<td>&nbsp;</td>";
				break;
				
			case $DetalleCheque:
				
				$rsCheque = $DB->Execute("SELECT * FROM cheques WHERE idCheque = ".$rsReciboItems->fields('idCheque'));
				
				while(!$rsCheque->EOF){
					$sDetalle = "Nro. Interno: ".$rsCheque->fields('idCheque')."<br/>";
					$sDetalle .= "Fecha Emisi&oacute;n: ".$rsCheque->fields('fechaEmision')."<br/>";
					$sDetalle .= "Fecha Vto: ".$rsCheque->fields('fechaVto')."<br/>";
					$sDetalle .= "Importe: $ ".$rsCheque->fields('importe')."<br/>";
					$sDetalle .= "Banco: ".$rsCheque->fields('banco')."<br/>";
					$sDetalle .= "Nro. Cheque: ".$rsCheque->fields('nroCheque')."<br/>";
					$sDetalle .= "Firmante: ".$rsCheque->fields('firmante')."<br/>";
					$sDetalle .= "CUIT Firmante: ".$rsCheque->fields('cuitFirmante')."<br/>";
					if($rsCheque->fields('endosante1') != "") {
						$sDetalle .= "Endosante 1: ".$rsCheque->fields('endosante1')."<br/>";
						$sDetalle .= "CUIT Endosante 1: ".$rsCheque->fields('cuitEndosante1')."<br/>";
					}
					if($rsCheque->fields('endosante2') != "") {
						$sDetalle .= "Endosante 2: ".$rsCheque->fields('endosante2')."<br/>";
						$sDetalle .= "CUIT Endosante 2: ".$rsCheque->fields('cuitEndosante2')."<br/>";
					}
					if($rsCheque->fields('endosante3') != "") {
						$sDetalle .= "Endosante 3: ".$rsCheque->fields('endosante3')."<br/>";
						$sDetalle .= "CUIT Endosante 3: ".$rsCheque->fields('cuitEndosante3')."<br/>";
					}
					
					$rsCheque->MoveNext();
				}
				
				$strOutput .= "<td valign='top'>".$sDetalle."</td>";
				
				break;
				
			case $DetalleTransferencia:
				
				$rsTransferencia = $DB->Execute("SELECT * FROM transferencias WHERE idTransferencia = ".$rsReciboItems->fields('idTransferencia'));
				
				while(!$rsTransferencia->EOF){				
					$sDetalle = "Fecha: ".$rsTransferencia->fields('fecha')."<br/>";
					$sDetalle .= "Banco: ".$rsTransferencia->fields('banco')."<br/>";
					$sDetalle .= "Importe: $ ".$rsTransferencia->fields('importe')."<br/>";
					
					$rsTransferencia->MoveNext();
				}
					
				$strOutput .= "<td valign='top'>".$sDetalle."</td>";
				
				break;
		}
		$strOutput .= "</tr>";
				
		$rsReciboItems->MoveNext();
	}
	
	$rsReciboRetenciones = $DB->Execute("SELECT * FROM recibos_retenciones  WHERE idRecibo = ".$_REQUEST["idRecibo"]);
	if(!$rsReciboRetenciones->EOF) {
		$strOutput .= "<tr><td>&nbsp;</td></tr>";
		while(!$rsReciboRetenciones->EOF){
			switch ($rsReciboRetenciones->fields('categoria')) {
				case $retencionIngresosBrutos:
					$retencionDescripcion = "Retenci&oacute;n de Ingresos Brutos";
					break;
				case $retencionIVA:
					$retencionDescripcion = "Retenci&oacute;n de I.V.A.";
					break;
				case $retencionGanancias:
					$retencionDescripcion = "Retenci&oacute;n de Ganancias";
					break;
				case $retencionSUSS:
					$retencionDescripcion = "Retenci&oacute;n de S.U.S.S";
					break;
			}
			
			$strOutput .= "<tr><td>".$retencionDescripcion."</td><td>$ ".$rsReciboRetenciones->fields("importe")."</td><td>&nbsp;</td></tr>";
			$rsReciboRetenciones->MoveNext();
		}
	}
		
	return $strOutput;
	
}

function del()
{
	require("includes/constants.php");

	$DB = NewADOConnection('mysqlt');
	$DB->Connect();
	$DB->Execute("SET NAMES utf8;");
	//$DB->debug=true;

	$DB->StartTrans(); // start transaction
	
	//Borro todos los datos del Recibo
	$DB->Execute("DELETE FROM cheques WHERE idCheque IN (SELECT idCheque FROM recibos_detalle WHERE idRecibo = ".$_REQUEST["idRecibo"].")");
	$DB->Execute("DELETE FROM transferencias WHERE idTransferencia IN (SELECT idTransferencia FROM recibos_detalle WHERE idRecibo = ".$_REQUEST["idRecibo"].")");
	$DB->Execute("DELETE FROM recibos_detalle WHERE idRecibo = ".$_REQUEST["idRecibo"]);
	$DB->Execute("DELETE FROM recibos_retenciones WHERE idRecibo = ".$_REQUEST["idRecibo"]);
	$DB->Execute("UPDATE recibos SET estado = '$stateErase' WHERE idRecibo = " . $_REQUEST["idRecibo"]); // execute query

	if (!$DB->CompleteTrans())
	{
		$arrJSON->status = "ERROR";
		$arrJSON->msg = "Error al Eliminar el Recibo";
	}
	else
	{
		$arrJSON->status = "OK";
		$arrJSON->msg = "El Recibo se Elimino Correctamente";
	}
	return json_encode($arrJSON);
}

function getBancos()
{
	require("includes/constants.php");
	
	$DB = NewADOConnection('mysqlt');
	$DB->Connect();
	$DB->Execute("SET NAMES utf8;");
	//$DB->debug=true;
	
	$rsBancos = $DB->Execute("SELECT * FROM bancos WHERE descripcion LIKE '%".$_REQUEST['term']."%' OR idBanco LIKE '%".$_REQUEST['term']."%'");
	
	if($rsBancos->EOF)
		return json_encode(array());
	
	$i=0;
	while(!$rsBancos->EOF){
		$arrBancos->data[$i]['id'] = $rsBancos->fields('idBanco');
		$arrBancos->data[$i++]['value'] = $rsBancos->fields('descripcion');
		$rsBancos->MoveNext();
	}
	
	return json_encode($arrBancos->data);
}

function getFirmante()
{
	$DB = NewADOConnection('mysqlt');
	$DB->Connect();
	$DB->Execute("SET NAMES utf8;");
	//$DB->debug=true;

	$rsFirmantes = $DB->Execute("SELECT * FROM cheques_firmantes WHERE cuitFirmante = '".$_REQUEST['cuitFirmanteCheque']."'");
	
	if($rsFirmantes->EOF) {	
		$response = file_get_contents("http://www.cuitonline.com/search.php?q=".str_replace("-", "", $_REQUEST['cuitFirmanteCheque']));	
		$canFirmantes = preg_match_all("/\<span class\=\"denominacion\"\>(.*?)\<\/span\>/", $response, $firmantes);
	
		if($canFirmantes != 1)
			$arrJSON->firmante = "";
		else {
			$arrJSON->firmante = $firmantes[1][0];
			$DB->Execute("INSERT INTO cheques_firmantes (cuitFirmante, firmante) VALUES ('".$_REQUEST['cuitFirmanteCheque']."','".$firmantes[1][0]."')"); // execute query
		}
	}
	else {
		$arrJSON->firmante = $rsFirmantes->fields('firmante');
	}
	
	return json_encode($arrJSON);
}

switch($_REQUEST['accion'])
{
	case "EDIT":
		echo editRecibo();
		break;
	case "DELETE":
		echo del();
		break;		
	case "search":
		echo searchABMRecibos();
		break;
	case "addOrEdit":
		echo addOrEdit();
		break;
	case "getClientes":
		echo getClientes();
		break;
	case "getBancos":
		echo getBancos();
		break;
	case "getFirmante":
		echo getFirmante();
		break;
	case "searchReciboDetalle":
		echo searchReciboDetalle();
		break;
}
?>
